/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Beans;

import Modelo.Factura;
import Utils.Constantes;
import Utils.Mensajes;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.logging.Logger;
import javax.faces.event.ActionEvent;

/**
 *
 * @author HNCR
 */
public class BeanFactura implements Serializable{
    
    private Factura objFactura_Reg;
    private Factura objFactura_Mod;
    private Factura objFactura_Detalle;
    private Factura objFactura_Eli;
    
    private Factura objFactura_Buscar;
    
    private ArrayList<Factura> arr_Factura=null;
    private ArrayList<Factura> arr_Factura1=null;
    
    //TabView comportamiento ocultar o mostrar componentes
    private Integer activeTabIndex; //indice de los tab
    private boolean bandVer=true;    
    private boolean bandMod=true;
    private boolean bandEli=true;
    
     private String puntAnt;

    public ArrayList<Factura> getArr_Factura1() {
        return arr_Factura1;
    }

    public void setArr_Factura1(ArrayList<Factura> arr_Factura1) {
        this.arr_Factura1 = arr_Factura1;
    }
     

    public Factura getObjFactura_Reg() {
        return objFactura_Reg;
    }

    public void setObjFactura_Reg(Factura objFactura_Reg) {
        this.objFactura_Reg = objFactura_Reg;
    }

    public Factura getObjFactura_Mod() {
        return objFactura_Mod;
    }

    public void setObjFactura_Mod(Factura objFactura_Mod) {
        this.objFactura_Mod = objFactura_Mod;
    }

    public Factura getObjFactura_Detalle() {
        return objFactura_Detalle;
    }

    public void setObjFactura_Detalle(Factura objFactura_Detalle) {
        this.objFactura_Detalle = objFactura_Detalle;
    }

    public Factura getObjFactura_Eli() {
        return objFactura_Eli;
    }

    public void setObjFactura_Eli(Factura objFactura_Eli) {
        this.objFactura_Eli = objFactura_Eli;
    }

    public Factura getObjFactura_Buscar() {
        return objFactura_Buscar;
    }

    public void setObjFactura_Buscar(Factura objFactura_Buscar) {
        this.objFactura_Buscar = objFactura_Buscar;
    }

    public ArrayList<Factura> getArr_Factura() {
        return arr_Factura;
    }

    public void setArr_Factura(ArrayList<Factura> arr_Factura) {
        this.arr_Factura = arr_Factura;
    }

    public Integer getActiveTabIndex() {
        return activeTabIndex;
    }

    public void setActiveTabIndex(Integer activeTabIndex) {
        this.activeTabIndex = activeTabIndex;
    }

    public boolean isBandVer() {
        return bandVer;
    }

    public void setBandVer(boolean bandVer) {
        this.bandVer = bandVer;
    }

    public boolean isBandMod() {
        return bandMod;
    }

    public void setBandMod(boolean bandMod) {
        this.bandMod = bandMod;
    }

    public boolean isBandEli() {
        return bandEli;
    }

    public void setBandEli(boolean bandEli) {
        this.bandEli = bandEli;
    }

    public String getPuntAnt() {
        return puntAnt;
    }

    public void setPuntAnt(String puntAnt) {
        this.puntAnt = puntAnt;
    }
    
    //inicializaciones
    public void doIniciarFacturaListar(){
        this.arr_Factura=new ArrayList<Factura>();
    }
    public void doIniciarFacturaListar1(){
        this.arr_Factura1=new ArrayList<Factura>();
    }
    public void doIniciarFacturaRegistrar(){
        this.objFactura_Reg=new Factura();
    }
    public void doIniciarFacturaModificar(){
        this.objFactura_Mod=new Factura();
    }
    public void doIniciarFacturaDetalle(){
        this.objFactura_Detalle=new Factura();
    }
    public void doIniciarFacturaBuscar(){
        this.objFactura_Buscar=new Factura();
    }

    //constructor
    public BeanFactura() {
        
        try {
            this.doIniciarFacturaRegistrar();
        } catch (Exception e) {
            Mensajes.manejarError(e,"Error al Iniciar Proceso");
        }
        
    }
    
    public String doFacturaRegistra(){
        
        try {
            
            boolean a = false;
            a = Factura.registrarFactura(objFactura_Reg);
            
            if(a){
                Mensajes.guardarMensajeExito("Registro","Registrado correctamente");
                this.doIniciarFacturaRegistrar();// limpia los datos de la vista cuando se registra
            }
            else{
                 Mensajes.manejarError("Registro","Error al Registrar");                
            }
            
        } catch (Exception e) {
            Mensajes.manejarError(e,"Registrar Zona Observacion");
        }
        return null;
    }
    
    public ArrayList<Factura> doListarFacturasHoyAbiertas(){
        this.doIniciarFacturaListar();
        this.arr_Factura = Factura.getListarFacturasHoyAbiertas();
        
        return this.arr_Factura;
    }
    
    public ArrayList<Factura> doListarFacturasHoy(){
        this.doIniciarFacturaListar1();
        this.arr_Factura1 = Factura.getListarFacturas_hoy();
        
        return this.arr_Factura1;
    }
    
    public String getSizeRegistroFactura(){
        if(this.arr_Factura==null){
            return "0";
          }
        else{
            return "" + this.arr_Factura.size();
        }
    }            
     
    public String getSizeRegistroFactura1(){
        if(this.arr_Factura1==null){
            return "0";
          }
        else{
            return "" + this.arr_Factura1.size();
        }
    }
}
